package Jets.shapes
{
	import flash.display.Graphics;
	import flash.display.Shape;

	public class JDrawArc extends Shape
	{
		private var ms_nRadis:Number;
		private var ms_nLine:int;
		private var ms_nColor:uint;
		private var ms_nStartAngle:Number;
		private var ms_nEndAngle:Number;
		/**
		 * 画一段圆弧
		 * @param radis 半径
		 * @param line 线条的宽度
		 * @param color 颜色
		 * @param startAngle 开始角度（度数 例如30°）
		 * @param endAngle 结束角度（度数）
		 */ 
		public function JDrawArc(radis:Number,line:int,color:uint,startAngle:Number,endAngle:Number)
		{
			ms_nRadis = radis;
			ms_nLine = line;
			ms_nColor = color;
			ms_nStartAngle = startAngle;
			ms_nEndAngle = endAngle;
			
			this.drawArc();
		}
		
		private function drawArc():void
		{
			this.graphics.clear();
			this.graphics.lineStyle(ms_nLine,ms_nColor);
			for(var i:int=ms_nStartAngle;i<=ms_nEndAngle;i++)
			{
				var px:Number=ms_nRadis*Math.cos(-i*Math.PI/180);
				var py:Number=ms_nRadis*Math.sin(-i*Math.PI/180);
				if(i==ms_nStartAngle)
					this.graphics.moveTo(px,py);			
				this.graphics.lineTo(px,py);                 
			}
		}
		
		/**
		 * 静态方法 画圆弧
		 * @param g Graphics对象
		 * @param radis 半径
		 * @param line 线条的宽度
		 * @param color 颜色
		 * @param startAngle 开始角度（度数 例如30°）
		 * @param endAngle 结束角度（度数）
		 */ 
		public static function DrawArc(g:Graphics,radis:Number,line:int,color:uint,startAngle:Number,endAngle:Number):void
		{
			g.clear();
			g.lineStyle(line,color);
			for(var i:int=startAngle;i<=endAngle;i++)
			{
				var px:Number=radis*Math.cos(-i*Math.PI/180);
				var py:Number=radis*Math.sin(-i*Math.PI/180);
				if(i==startAngle)
					g.moveTo(px,py);			
				g.lineTo(px,py);                 
			}
		}
		
	}
}